
public class InterVies3 {
	public static void main(String[] args) throws Exception {
		//System.out.println(split("我ABC汉EFG", 2));
		System.out.println(getSubString("我ABC汉EFG",9,"UTF-8"));
	}
	
	/**
	 * String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示，如 
		byte[] b_gbk = "中".getBytes("GBK");
		byte[] b_utf8 = "中".getBytes("UTF-8");
		byte[] b_iso88591 = "中".getBytes("ISO8859-1");
		将分别返回“中”这个汉字在GBK、UTF-8和ISO8859-1编码下的byte数组表示，此时b_gbk
		的长度为2，b_utf8的长度为3，b_iso88591的长度为1。
	 * @param str
	 * @param num
	 * @return
	 */
	
	public static String getSubString(String str,int len,String encoding) throws Exception{  
        if(str == null || str.length()<1) {
        	return null ; 	
        } 
        if(len<1) {
        	return null ;  
        }
        StringBuffer sb = new StringBuffer();  
        int all = 0 ;  
        for(int i=0;i<str.length();i++){  
            String tmp = str.substring(i,i+1);  
            byte[] tmpB = tmp.getBytes(encoding);  
            all +=tmpB.length ;  
            if(all>len){  
                break ;  
            }  
            sb.append(tmp);  
        }  
        return sb.toString() ;  
    }  

}
